table of contents
SEM_DESTROY(3) | Linux Programmer's Manual | SEM_DESTROY(3) |
NAME¶
sem_destroy - destroy an unnamed semaphore
SYNOPSIS¶
#include <semaphore.h> int sem_destroy(sem_t *sem);
Link with -lrt or -pthread.
DESCRIPTION¶
sem_destroy() destroys the unnamed semaphore at the address pointed to by sem.
Only a semaphore that has been initialized by sem_init(3) should be destroyed using sem_destroy().
Destroying a semaphore that other processes or threads are currently blocked on (in sem_wait(3)) produces undefined behavior.
Using a semaphore that has been destroyed produces undefined results, until the semaphore has been reinitialized using sem_init(3).
RETURN VALUE¶
sem_destroy() returns 0 on success; on error, -1 is returned, and errno is set to indicate the error.
ERRORS¶
- EINVAL
- sem is not a valid semaphore.
CONFORMING TO¶
POSIX.1-2001.
NOTES¶
An unnamed semaphore should be destroyed with sem_destroy() before the memory in which it is located is deallocated. Failure to do this can result in resource leaks on some implementations.
SEE ALSO¶
COLOPHON¶
This page is part of release 3.22 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.
2006-03-25 | Linux |